在 MySQL 数据表中增加 created_at
和 updated_at
列并自动记录创建和更新时间,性能最优的做法是使用 DATETIME
或 TIMESTAMP
数据类型,并结合 DEFAULT CURRENT_TIMESTAMP
和 ON UPDATE CURRENT_TIMESTAMP
属性。以下是具体实现方法:
创建新表时添加字段
在创建新表时,可以直接定义 created_at
和 updated_at
字段:
1 | CREATE TABLE `my_table` ( |
created_at
字段使用DEFAULT CURRENT_TIMESTAMP
,在插入新记录时自动填充当前时间[^2^]。updated_at
字段使用DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
,在插入和更新记录时自动更新为当前时间[^2^]。
修改现有表时添加字段
如果表已经存在,可以通过 ALTER TABLE
语句添加这两个字段:
1 | ALTER TABLE `my_table` |
这样可以为现有表快速添加自动记录时间的功能[^9^]。
性能优势
- 减少代码复杂度:无需在应用程序中手动设置时间戳,减少了代码量和出错的可能性[^2^]。
- 提高性能:直接利用 MySQL 的内置功能,比使用触发器等方式更高效[^5^]。
- 灵活性:
DATETIME
和TIMESTAMP
数据类型都支持自动更新功能,可以根据需求选择[^2^]。
通过这种方式,可以高效地实现记录创建和更新时间的自动化管理,同时保持数据库的高性能和可维护性。